xmalloc: use tlsf algorithm
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 16 Oct 2008 10:09:50 +0000 (11:09 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 16 Oct 2008 10:09:50 +0000 (11:09 +0100)
commit9736b76d829b2dba07e9941978bdf132fa118e18
tree9b4537fff9c068bb123d1c8fe606cce22e1e0c86
parent261aa81d0588107b3ce9fdac2d18b164b0359a26
xmalloc: use tlsf algorithm

This patch replaces the Xen xmalloc engine with tlsf, an allocation
engine that is both more space efficient and time-bounded, especially
for allocation sizes between PAGE_SIZE/2 and PAGE_SIZE.

The file xmalloc.c is deprecated but not yet deleted.  A simple
changein common/Makefile will change back to the legacy xmalloc/xfree
if needed for testing.

Code adapted from Nitin Gupta's tlsf-kmod, rev 229, found here:
http://code.google.com/p/compcache/source/browse/trunk/sub-projects/allocat=
ors/tlsf-kmod
with description and performance details here:
http://code.google.com/p/compcache/wiki/TLSFAllocator
(new Xen code uses 4K=3DPAGE_SIZE for the region size)

For detailed info on tlsf, see:
http://rtportal.upv.es/rtmalloc/

Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen/common/Makefile
xen/common/xmalloc_tlsf.c [new file with mode: 0644]